package com.back_end.AnnotationDemo;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


public class TestDemo03 {

    // 注解可以显示赋值，如果没有默认值，我们就必须给注解赋值
    @MyAnnotation2(name = "xxx",school = {"山西农业大小，山农"})
    public void test(){
    }

    @MyAnnotation3("zjz")   // 参数值为value，可以省略value=
    public void test2(){
    }
}

// 自定义注解
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation2{
    // 注解的参数：参数类型+参数名(); 可以加个default 表示默认值
    String name() default ""; // 设置注解参数为String 可以为null
    int age() default 0;
    int id() default -1; // 如果默认值为-1，代表不存在

    String[] school() default {"清华大学","北京大学"};
}


@interface MyAnnotation3{
    String value();
}

